{% extends 'layout.html' %}

{% block content %}
    <div class="container">
        <div class="panel panel-default">
          <div class="panel-heading">表单</div>
          <div class="panel-body">
            <form id="formAdd">
                <!-- post提交默认报错，这里必须加上csrf_token -->
                <div class="clearfix">
                    {% for field in form %}
                        <div class="col-xs-6">
                        <div class="form-group" style="position: relative;margin-bottom: 20px;">
                            <label>{{ field.label }}</label>
                            {{ field }}
                            <span class="error-msg" style="color: red;position: absolute;"></span>
                            <!--<input type="text" class="form-control" placeholder="姓名" name="user"/>-->
                        </div>
                        </div>
                        <!-- {{ field.label }} : {{ field }} -->
                    {% endfor %}
                    <div class="col-xs-12">
                        <!--绑定ID，普通button，不用表单提交-->
                        <button id="btnAdd" type="button" class="btn btn-primary">提交</button>
                    </div>
                </div>
            </form>
          </div>
        </div>

        <div class="panel panel-default">
              <!-- Default panel contents -->

              <div class="panel-heading">
                  <!-- 加上字体图标（bootstrap）-->
                  <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
                  任务列表
              </div>

              <!-- Table -->
              <!-- <table class="table"> 列与列之间加上边框-->
              <table class="table table-bordered">
                <thead>
                  <tr>
                    <th>ID</th>
                    <th>标题</th>
                    <th>级别</th>
                    <th>负责人</th>
                    <th>操作</th>
                  </tr>
                </thead>
                    <tbody>
                    {% for obj in queryset %}
                          <tr>
                            <th>{{ obj.id }}</th>
                            <td>{{ obj.title }}</td>
                            <!--级别显示中文-->
                            <td>{{ obj.get_level_display }}</td>
                            <td>{{ obj.user.username }}</td>
                            <td>
                                <!-- btn-xs 按钮大小-->
                                <a class="btn btn-primary btn-xs" href="#">编辑</a>
                                <a class="btn btn-danger btn-xs" href="#">删除</a>
                            </td>
                          </tr>
                    {% endfor %}
                    </tbody>
                  </table>
            </div>

        <ul class="pagination">
        {{ page_string }}
        </ul>

        <div style="height: 500px"></div>
        <hr/>
        <div>
            <h1>Ajax学习</h1>
            <h3>示例1</h3>
            <input id="btn1" type="button" class="btn btn-primary" value="Ajax点击" />

            <h3>示例2</h3>
            <input type="text" id="txtUser" placeholder="姓名"/>
            <input type="text" id="txtAge" placeholder="年龄"/>
            <input id="btn2" type="button" class="btn btn-primary" value="Ajax1点击" />

            <h3>示例3</h3>
            <form id="form3">
                <input type="text" name="user" placeholder="姓名"/>
                <input type="text" name="age" placeholder="年龄"/>
                <input type="text" name="email" placeholder="邮箱"/>
                <input type="text" name="more" placeholder="个人介绍"/>
            </form>
            <input id="btn3" type="button" class="btn btn-primary" value="Ajax2点击" />
        </div>
    </div>


{% endblock %}

{% block js %}
    <script type="text/javascript">
        $(function (){
            // 页面框架加载完成之后，代码自动执行
            bindBtn1Event();
            bindBtn2Event();
            bindBtn3Event();
            bindBtnAddEvent();
        })
        function bindBtn1Event(){
            $("#btn1").click(function (){
                $.ajax({
                    url: '/task/ajax/',
                    type: "get",
                    data: {
                        n1: 123,
                        n2: 456
                    },
                    // 格式转换
                    dataType: "JSON",
                    success: function (res){
                        console.log(res);
                        console.log(res.status);
                        console.log(res.data);
                    }
                })
            })
        }
        function bindBtn2Event(){
            $("#btn2").click(function (){
                $.ajax({
                    url: '/task/ajax/',
                    type: "post",
                    data: {
                        name: $("#txtUser").val(),
                        age: $("#txtAge").val()
                    },
                    // 格式转换
                    dataType: "JSON",
                    success: function (res){
                        console.log(res);
                        console.log(res.status);
                        console.log(res.data);
                    }
                })
            })
        }
        function bindBtn3Event(){
            $("#btn3").click(function (){
                $.ajax({
                    url: '/task/ajax/',
                    type: "post",
                    data: $("#form3").serialize(),
                    // 格式转换
                    dataType: "JSON",
                    success: function (res){
                        console.log(res);
                        console.log(res.status);
                        console.log(res.data);
                    }
                })
            })
        }
        function bindBtnAddEvent(){
            $("#btnAdd").click(function (){
                // 点击提交的时候清空错误信息，因为每一次提交都要显示不同情况的错误信息
                // 等于是初始化错误信息的意思
                $(".error-msg").empty();
                $.ajax({
                    url: '/task/add/',
                    type: "post",
                    // 打包数据发送后台验证
                    data: $("#formAdd").serialize(),
                    // 格式转换
                    dataType: "JSON",
                    success: function (res){
                        if (res.status) {
                            alert("添加成功");
                            // 添加成功，页面刷新,JS实现
                            location.reload();
                        } else {
                            // 循环错误信心，找到错误的信息，因为ModelForm会生成字典形式的键值对
                            $.each(res.error,function (name,data){
                                // console.log(name,data)
                                // 拼接K值，找到values值
                                $("#id_" + name).next().text(data[0])
                            })
                        }
                    }
                })
            })
        }

    </script>

{% endblock %}